package com.example.s15_cache.controller;

import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    // 缓存的内容:
    // 频繁会被访问，不会频繁修改的内容

    // 网店的商品目录
    // 男装 女装 童装

    // 普通用户访问时基本不需要改变
    // 管理员后台管理时才需要更新以下

    @RequestMapping("/hello")
    @Cacheable(value="helloCache")
    public String hello(String name)
    {
        System.out.println("调用了hello()");
        return "hello";
    }

    @RequestMapping("/update")
    @CachePut(value="helloCache")
    public String upate()
    {
        return "男装 女装 童装";
    }

    @RequestMapping("/clear")
    @CacheEvict(value="helloCache")
    public String clear()
    {
        return "清除缓存";
    }
}
